import Vue from 'vue';
/* import {} from '@/types' */
/*
 * props
 */
export namespace N_cPaintCodeGuide {
  export interface partInfo {
    id: string;
    fpart_no: string; // 零组件编号
    fpart_ver: string; // 工艺表版次
    'm2o|pro_mach_id|mach_type_info|pro_mac_type': string; // 工艺机种
    fpart_name: string; // 零组件名称
    'slc|typ_proc|441187226068459520': string; // 表面处理工艺种类
    content: any; // 历史数据
  }

  export interface paintInfo {
    paintCode: string;
    paintSequence: string;
  }

  export interface tableData {
    index: number;
    surface: string;
    paintName: string;
  }
  export interface cPaintCodeGuide extends Vue {}

  // 喷漆编码向导配置类型定义
  export interface PartInfoFieldConfig {
    field: string;
    label: string;
    dataKey: string;
  }

  export interface TableColumnEditorConfig {
    type: string;
    tField: string;
    tTable: string;
    isFunLayout: boolean;
  }

  export interface TableColumnConfig {
    type?: string;
    field: string;
    title: string;
    width?: number;
    editor?: TableColumnEditorConfig;
  }

  export interface TableConfig {
    columns: TableColumnConfig[];
  }

  export interface ButtonConfig {
    type: string;
    text: string;
  }

  export interface TipsConfig {
    icon: string;
    text: string;
    content: string;
  }

  export interface DisplaySectionConfig {
    title: string;
    dataKey: string;
  }

  export interface PaintCodeGuideConfig {
    modalTitle: string;
    partInfoFields: PartInfoFieldConfig[];
    tableConfig: TableConfig;
    buttons: ButtonConfig[];
    tips: TipsConfig;
    displaySections: DisplaySectionConfig[];
  }
}
